home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / bits / termios.h < prev    next >
C/C++ Source or Header  |  2009-10-07  |  5KB  |  219 lines

  1. /* termios type and macro definitions.  Linux version.
  2.    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2003, 2005
  3.     Free Software Foundation, Inc.
  4.    This file is part of the GNU C Library.
  5.  
  6.    The GNU C Library is free software; you can redistribute it and/or
  7.    modify it under the terms of the GNU Lesser General Public
  8.    License as published by the Free Software Foundation; either
  9.    version 2.1 of the License, or (at your option) any later version.
  10.  
  11.    The GNU C Library is distributed in the hope that it will be useful,
  12.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  14.    Lesser General Public License for more details.
  15.  
  16.    You should have received a copy of the GNU Lesser General Public
  17.    License along with the GNU C Library; if not, write to the Free
  18.    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
  19.    02111-1307 USA.  */
  20.  
  21. #ifndef _TERMIOS_H
  22. # error "Never include <bits/termios.h> directly; use <termios.h> instead."
  23. #endif
  24.  
  25. typedef unsigned char    cc_t;
  26. typedef unsigned int    speed_t;
  27. typedef unsigned int    tcflag_t;
  28.  
  29. #define NCCS 32
  30. struct termios
  31.   {
  32.     tcflag_t c_iflag;        /* input mode flags */
  33.     tcflag_t c_oflag;        /* output mode flags */
  34.     tcflag_t c_cflag;        /* control mode flags */
  35.     tcflag_t c_lflag;        /* local mode flags */
  36.     cc_t c_line;            /* line discipline */
  37.     cc_t c_cc[NCCS];        /* control characters */
  38.     speed_t c_ispeed;        /* input speed */
  39.     speed_t c_ospeed;        /* output speed */
  40. #define _HAVE_STRUCT_TERMIOS_C_ISPEED 1
  41. #define _HAVE_STRUCT_TERMIOS_C_OSPEED 1
  42.   };
  43.  
  44. /* c_cc characters */
  45. #define VINTR 0
  46. #define VQUIT 1
  47. #define VERASE 2
  48. #define VKILL 3
  49. #define VEOF 4
  50. #define VTIME 5
  51. #define VMIN 6
  52. #define VSWTC 7
  53. #define VSTART 8
  54. #define VSTOP 9
  55. #define VSUSP 10
  56. #define VEOL 11
  57. #define VREPRINT 12
  58. #define VDISCARD 13
  59. #define VWERASE 14
  60. #define VLNEXT 15
  61. #define VEOL2 16
  62.  
  63. /* c_iflag bits */
  64. #define IGNBRK    0000001
  65. #define BRKINT    0000002
  66. #define IGNPAR    0000004
  67. #define PARMRK    0000010
  68. #define INPCK    0000020
  69. #define ISTRIP    0000040
  70. #define INLCR    0000100
  71. #define IGNCR    0000200
  72. #define ICRNL    0000400
  73. #define IUCLC    0001000
  74. #define IXON    0002000
  75. #define IXANY    0004000
  76. #define IXOFF    0010000
  77. #define IMAXBEL    0020000
  78. #define IUTF8    0040000
  79.  
  80. /* c_oflag bits */
  81. #define OPOST    0000001
  82. #define OLCUC    0000002
  83. #define ONLCR    0000004
  84. #define OCRNL    0000010
  85. #define ONOCR    0000020
  86. #define ONLRET    0000040
  87. #define OFILL    0000100
  88. #define OFDEL    0000200
  89. #if defined __USE_MISC || defined __USE_XOPEN
  90. # define NLDLY    0000400
  91. # define   NL0    0000000
  92. # define   NL1    0000400
  93. # define CRDLY    0003000
  94. # define   CR0    0000000
  95. # define   CR1    0001000
  96. # define   CR2    0002000
  97. # define   CR3    0003000
  98. # define TABDLY    0014000
  99. # define   TAB0    0000000
  100. # define   TAB1    0004000
  101. # define   TAB2    0010000
  102. # define   TAB3    0014000
  103. # define BSDLY    0020000
  104. # define   BS0    0000000
  105. # define   BS1    0020000
  106. # define FFDLY    0100000
  107. # define   FF0    0000000
  108. # define   FF1    0100000
  109. #endif
  110.  
  111. #define VTDLY    0040000
  112. #define   VT0    0000000
  113. #define   VT1    0040000
  114.  
  115. #ifdef __USE_MISC
  116. # define XTABS    0014000
  117. #endif
  118.  
  119. /* c_cflag bit meaning */
  120. #ifdef __USE_MISC
  121. # define CBAUD    0010017
  122. #endif
  123. #define  B0    0000000        /* hang up */
  124. #define  B50    0000001
  125. #define  B75    0000002
  126. #define  B110    0000003
  127. #define  B134    0000004
  128. #define  B150    0000005
  129. #define  B200    0000006
  130. #define  B300    0000007
  131. #define  B600    0000010
  132. #define  B1200    0000011
  133. #define  B1800    0000012
  134. #define  B2400    0000013
  135. #define  B4800    0000014
  136. #define  B9600    0000015
  137. #define  B19200    0000016
  138. #define  B38400    0000017
  139. #ifdef __USE_MISC
  140. # define EXTA B19200
  141. # define EXTB B38400
  142. #endif
  143. #define CSIZE    0000060
  144. #define   CS5    0000000
  145. #define   CS6    0000020
  146. #define   CS7    0000040
  147. #define   CS8    0000060
  148. #define CSTOPB    0000100
  149. #define CREAD    0000200
  150. #define PARENB    0000400
  151. #define PARODD    0001000
  152. #define HUPCL    0002000
  153. #define CLOCAL    0004000
  154. #ifdef __USE_MISC
  155. # define CBAUDEX 0010000
  156. #endif
  157. #define  B57600   0010001
  158. #define  B115200  0010002
  159. #define  B230400  0010003
  160. #define  B460800  0010004
  161. #define  B500000  0010005
  162. #define  B576000  0010006
  163. #define  B921600  0010007
  164. #define  B1000000 0010010
  165. #define  B1152000 0010011
  166. #define  B1500000 0010012
  167. #define  B2000000 0010013
  168. #define  B2500000 0010014
  169. #define  B3000000 0010015
  170. #define  B3500000 0010016
  171. #define  B4000000 0010017
  172. #define __MAX_BAUD B4000000
  173. #ifdef __USE_MISC
  174. # define CIBAUD      002003600000        /* input baud rate (not used) */
  175. # define CMSPAR   010000000000        /* mark or space (stick) parity */
  176. # define CRTSCTS  020000000000        /* flow control */
  177. #endif
  178.  
  179. /* c_lflag bits */
  180. #define ISIG    0000001
  181. #define ICANON    0000002
  182. #if defined __USE_MISC || defined __USE_XOPEN
  183. # define XCASE    0000004
  184. #endif
  185. #define ECHO    0000010
  186. #define ECHOE    0000020
  187. #define ECHOK    0000040
  188. #define ECHONL    0000100
  189. #define NOFLSH    0000200
  190. #define TOSTOP    0000400
  191. #ifdef __USE_MISC
  192. # define ECHOCTL 0001000
  193. # define ECHOPRT 0002000
  194. # define ECHOKE     0004000
  195. # define FLUSHO     0010000
  196. # define PENDIN     0040000
  197. #endif
  198. #define IEXTEN    0100000
  199.  
  200. /* tcflow() and TCXONC use these */
  201. #define    TCOOFF        0
  202. #define    TCOON        1
  203. #define    TCIOFF        2
  204. #define    TCION        3
  205.  
  206. /* tcflush() and TCFLSH use these */
  207. #define    TCIFLUSH    0
  208. #define    TCOFLUSH    1
  209. #define    TCIOFLUSH    2
  210.  
  211. /* tcsetattr uses these */
  212. #define    TCSANOW        0
  213. #define    TCSADRAIN    1
  214. #define    TCSAFLUSH    2
  215.  
  216.  
  217. #define _IOT_termios /* Hurd ioctl type field.  */ \
  218.   _IOT (_IOTS (cflag_t), 4, _IOTS (cc_t), NCCS, _IOTS (speed_t), 2)
  219.